package com.bawei.comm.model.util

import com.bawei.comm.model.bean.BanBean
import com.bawei.comm.model.bean.ChoBean
import com.bawei.comm.model.bean.KaiBean
import com.bawei.comm.model.bean.KanBean
import com.bawei.comm.model.bean.LeiBean
import com.bawei.comm.model.bean.LiveBean
import com.bawei.comm.model.bean.RenBean
import com.bawei.comm.model.bean.ShiBean
import io.reactivex.Observable
import okhttp3.MultipartBody
import retrofit2.http.GET
import retrofit2.http.Header
import retrofit2.http.Multipart
import retrofit2.http.POST
import retrofit2.http.Part
import retrofit2.http.Query

/**
 * 作者: 曹浩
 * 时间: 2024/8/5
 * 功能描述:
 */
interface ApiServer {
    @GET("live-platform/findLiveList")
    fun getlei(
        @Header("userId")userId:Int,
        @Query("liveType")liveType:Int,
        @Query("page")page:Int,
        @Query("size")size:Int,
    ):Observable<LeiBean>
    @Multipart
    @POST("live-platform/verify/openLive")
    fun getzhi(
        @Header("userId")userId:Int,
        @Header("sessionId")sessionId:String,
        @Query("liveType")liveType:Int,
        @Query("liveTitle")liveTitle:String,
        @Query("longitude")longitude:String,
        @Query("latitude")latitude:String,
        @Part multipartBody: MultipartBody.Part
    ):Observable<KaiBean>
    @GET("live-platform/watchLive")
    fun getkan(
        @Header("userId")userId:Int,
        @Header("sessionId")sessionId:String,
        @Query("liveId")liveId:Int,
    ):Observable<KanBean>
    @GET("live-user/v2/findNewVersion")
    fun getban(
        @Header("version")version:String,
    ):Observable<BanBean>
    @GET("live-user/verify/checkVerified")
    fun getshi(
        @Header("userId")userId:Int,
        @Header("sessionId")sessionId:String,
    ):Observable<ShiBean>
    @POST("live-user/verify/realNameAuthentication")
    fun getren(
        @Header("userId")userId:Int,
        @Header("sessionId")sessionId:String,
        @Query("actualName")actualName:String,
        @Query("sex")sex:Int,
        @Query("birthday")birthday:String,
        @Query("address")address:String,
        @Query("idNumber")idNumber:String,
        @Query("office")office:String,
        @Query("expireDate")expireDate:String,
    ):Observable<RenBean>
    @GET("live-platform/findAllGift")
    fun getlive(
    ):Observable<LiveBean>
    @GET("exam/zg3/alipay")
    fun getpay(
        @Query("totalPrice")totalPrice :Int,
    ):Observable<ChoBean>
}